用python提取字符串的中英文 |
您所在的位置:网站首页 › 英文 函数 › 用python提取字符串的中英文 |
python中提取字符串的中文或英文
一. re中的sub函数1.1 提取中文1.2 提取英文1.3 提取数字
二. re中的findall函数2.1 提取中文2.2 提取英文2.3 提取数字
三. 中的compile函数3.1 同时匹配中英文数字去除其他字符
前言:
作者:神的孩子在歌唱
最近有小伙伴私信我python如何提取中英文 提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用 一. re中的sub函数使用Python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项。 re.sub(pattern, repl, string, count=0)参数说明: pattern:正则重的模式字符串repl:被拿来替换的字符串string:要被用于替换的原始字符串count:模式匹配后替换的最大次数,省略则默认为0,表示替换所有的匹配 1.1 提取中文可以这样想:我们可以通过将不是中文的字符替换为空不就可以了 例如 import re str = "重出江湖hello的地H方。。的,world" str = re.sub("[A-Za-z0-9\,\。]", "", str) print(str) 输出:神的孩子在唱歌 1.2 提取英文 import re str = "重123出江湖hello的地H方。。的,world" str = re.sub("[\u4e00-\u9fa5\0-9\,\。]", "", str) print(str) 输出:helloHworld 1.3 提取数字 import re str = "重123出江湖hello的地H方。。的,world" str = re.sub("[A-Za-z\u4e00-\u9fa5\,\。]", "", str) print(str) 输出:123 二. re中的findall函数在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 语法格式为: findall(string[, pos[, endpos]])参数: string : 待匹配的字符串。 pos : 可选参数,指定字符串的起始位置,默认为 0。 endpos :可选参数,指定字符串的结束位置,默认为字符串的长度。 查找字符串中的所有数字: 扩展:正则中有match 和 search ,它们是是匹配一次,findall 匹配所有,具体了解可以到菜鸟教程查看 2.1 提取中文compile函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供其他函数使用。 语法格式为: re.compile(pattern[, flags])参数: pattern : 一个字符串形式的正则表达式 flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为: re.I 忽略大小写re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境re.M 多行模式re.S即为 . 并且包括换行符在内的任意字符(. 不包括换行符)re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s,\S 依赖于 Unicode 字符属性数据库re.X 为了增加可读性,忽略空格和 # 后面的注释 3.1 同时匹配中英文数字去除其他字符本人博客:https://blog.csdn.net/weixin_46654114 本人b站求关注:https://space.bilibili.com/391105864 转载说明:跟我说明,务必注明来源,附带本人博客连接。 请给我点个赞鼓励我吧 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |